package top.hisoft.pattern.creational.simplefactory.farm.fruits;

import top.hisoft.pattern.creational.simplefactory.farm.Fruit;

/**
 * 具体水果 - 葡萄。
 * <p>
 * {@link Grape} 类是水果的一种，也实现了 {@link Fruit} 接口所声明的所有方法。
 * 但有于葡萄分为有籽和无籽两种，因此，比通常的水果多出一个 <i>seedless</i> 属性。
 * </p>
 *
 * @author sky
 */
public class Grape implements Fruit {

    /**
     * 是否有籽
     */
    private boolean seedless;

    /**
     * 生长
     */
    @Override
    public void grow() {
        System.out.println("Grape is growing.");
    }

    /**
     * 收获
     */
    @Override
    public void harvest() {
        System.out.println("Grape has been harvested.");
    }

    /**
     * 种植
     */
    @Override
    public void plant() {
        System.out.println("Grape  has been planted.");
    }

    /**
     * 有无籽的取值方法。
     *
     * @return
     */
    public boolean isSeedless() {
        return seedless;
    }

    /**
     * 有无籽的赋值方法
     *
     * @param seedless
     */
    public void setSeedless(boolean seedless) {
        this.seedless = seedless;
    }
}
